"""
快速演示脚本 - 自动发布Agent

这是一个快速演示脚本，展示如何使用最简单的方式发布Agent。
"""

import os
import sys
from pathlib import Path
from dotenv import load_dotenv

# Windows编码修复
if sys.platform == 'win32':
    os.environ['PYTHONIOENCODING'] = 'utf-8'

# 添加项目根目录到路径
project_root = Path(__file__).parent.parent
sys.path.insert(0, str(project_root))

# 加载环境变量
load_dotenv(project_root / '.env')

from scripts.auto_publish_agent import AgentAutoPublisher


def quick_demo():
    """快速演示"""
    print("=" * 80)
    print("🚀 Agent自动发布 - 快速演示")
    print("=" * 80)

    # 简化的Agent配置
    agent_config = {
        # 必填项
        "name": "快速演示Agent",
        "model_id": "ep-20241231203825-nwz4f",  # 替换为实际的模型ID
        "prompt": "你是一个友好的AI助手，帮助用户解答问题。",

        # 可选项
        "description": "这是一个快速演示创建的Agent",
        "welcome_message": "你好！我是快速演示Agent，有什么可以帮助你的吗？"
    }

    # 创建发布器并执行发布
    publisher = AgentAutoPublisher()

    print("\n提示: 这将创建并发布一个测试Agent")
    print(f"Agent名称: {agent_config['name']}")
    print(f"模型ID: {agent_config['model_id']}")

    confirm = input("\n是否继续? (y/n, 默认n): ").strip().lower()

    if confirm != 'y':
        print("已取消")
        return

    try:
        # 执行自动发布（等待审核）
        result = publisher.auto_publish(
            agent_config=agent_config,
            version="1.0.0-demo",
            wait_approval=True,
            approval_timeout=180  # 3分钟超时
        )

        print("\n" + "=" * 80)
        print("✅ 演示完成!")
        print("=" * 80)
        print("\n📋 重要信息（请保存）:")
        print(f"AppID: {result['app_id']}")
        print(f"API Key: {result['api_key']}")
        print(f"API Key ID: {result['api_key_id']}")
        print("\n⚠️  请妥善保管API密钥，不要泄露给他人!")

    except Exception as e:
        print(f"\n❌ 演示失败: {str(e)}")
        import traceback
        traceback.print_exc()


if __name__ == "__main__":
    quick_demo()
